﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright company="Microsoft Corp." file="Deployment.cs">
//   All rights reserved. See License.txt in the project root for license information.
// </copyright>
// 
// --------------------------------------------------------------------------------------------------------------------
namespace AzureManagement.AzureDataContracts
{
    using System;
    using System.Collections.Generic;
    using System.Xml.Serialization;

    [XmlRoot(Namespace = "http://schemas.microsoft.com/windowsazure", IsNullable = false)]
    [XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/windowsazure")]
    public class Deployment
    {
        public string Name { get; set; }

        public DeploymentSlots DeploymentSlot { get; set; }

        public string PrivateID { get; set; }

        public DeploymentStatuses Status { get; set; }

        public string Label { get; set; }

        public string Url { get; set; }

        public string Configuration { get; set; }

        public List<RoleInstance> RoleInstanceList { get; set; }

        public int UpgradeDomainCount { get; set; }

        public List<Role> RoleList { get; set; }

        public string SdkVersion { get; set; }

        public bool Locked { get; set; }

        public bool RollbackAllowed { get; set; }

        public DateTime CreatedTime { get; set; }

        public DateTime LastModifiedTime { get; set; }

        public PersistentVMDowntime PersistentVMDowntime { get; set; }

        public List<VirtualIP> VirtualIPs { get; set; }
    }
}